
#include <bits/stdc++.h>
using namespace std;
// 定义高度数组，大小设置为100000以适应问题规模
int h[100000];
int main() {

  int n;
  cin >> n;

  // 循环读取每个人的身高数据，使用1-based索引（从1开始计数）
  for (int i = 1; i <= n; ++i)
    cin >> h[i];

  // 主循环：为每个人查找左侧最近的更高的人

  stack<int> stk;
  for (int i = 1; i <= n; i++) {
    while (!stk.empty() && h[stk.top()] <= h[i]) {
      stk.pop();
    }
    if (stk.empty()) {
      cout << -1 << endl;
    } else {
      cout << stk.top() << endl;
    }
    stk.push(i);
  }

  
  return 0;
}